<script charset="utf-8">


    // class中提供了一个 constructor函数 ： 
    // class把属性全部都放到constructor函数中
    // constructor函数  不用手动调用（say函数时需要我们手动调用的）
    // 在实例化对象的时候，constructor函数会自动调用
    // constructor函数的作用就是初始化对象的属性

    /* 
    class 类名{

        constructor(参数){
            // 属性初始化
            this.属性名=值
            this.属性名=参数
            。。。。。。
        }

        方法名(){}
        方法名(){}

    } */



    class Person {


        constructor( n,a,s,h,j) {
            // console.log("我被初始化了");
            // 属性

            this.name=n;
            this.age=a;
            this.sex=s;
            this.hobby=h;
            this.job=j;
            this.type="人"
        }


        // 方法
        say(){
            console.log(`我是${this.name},我今年${this.age}岁，我是${this.sex}生，我的爱好是：${this.hobby},我是一个${this.job}`);
        }

    }


    // 实例化的时候，传递的参数，会传给constructor函数
    let p=new Person("小明",10,"男",["吃","睡","玩"],"无业游民")
    console.log(p);
    p.say()//我是小明,我今年10岁，我是男生，我的爱好是：吃,睡,玩,我是一个无业游民


    let p1=new Person("小黑",11,"女",["学习","运动"],"学生")
    console.log(p1);



    // 对于公共的内容：例如：type="人"  这个属性是大家共有的，这样的数据没有必要每次实例化都创建一份，所有的实例共同使用一份就可以，我们把会公共的东西使用静态去声明







</script>